package com.zsr.system.service.qw;

import com.alibaba.fastjson2.JSONObject;

import java.util.List;

/**
 * 企业微信接口
 *
 * @author 荣
 * @date 2025/3/26 14:32
 */

public interface IWechatService {

    /**
     * 获取企业微信accessToken
     *
     * @param count
     * @return
     */
    String getAccessToken(Integer count);

    /**
     * 获取企业微信大学生院校标签
     *
     * @return
     */
    JSONObject getStudentTag(String token, String groupId);

    /**
     * 获取企业微信客户群详情
     *
     * @param token
     * @param chatId   群聊ID
     * @param needName 是否需要返回群成员的名字 0-不返回；1-返回
     * @return
     */
    JSONObject getChatInfo(String token, String chatId, Integer needName);


    /**
     * 获取企业微信客户群列表
     *
     * @param token
     * @param limit     分页大小
     * @param cursor    分页游标
     * @return
     */
    JSONObject getChatList(String token, String limit, String cursor);

    /**
     * 获取企业微信客户信息列表
     *
     * @param token
     * @param userIdList 企业用户Id列表
     * @return 客户详情列表
     */
    JSONObject getCustomerList(String token, List<String> userIdList);


    /**
     * 获取企业微信客户信息
     *
     * @param token
     * @param externalUserId 客户id
     * @return 客户详情列表
     */
    JSONObject getCustomerInfo(String token, String externalUserId);

    /**
     * 编辑客户企业标签
     *
     * @param token
     * @param externalUserId 客户id列表
     * @param userId         联系人用户ID
     * @param addTagList     添加标签列表
     * @param removeTagList  删除标签列表
     * @return 客户详情列表
     */
    JSONObject markTag(String token, String externalUserId, String userId, List<String> addTagList, List<String> removeTagList);
}
